import subprocess
import json
import os

# 使用原始字符串（r前缀）避免反斜杠被解释为转义字符
cmd_base_global = r"D:\download_edge\Final2x-windows-x64-unpacked\resources\app\resources\Final2x-core\Final2x-core.exe"


def   final_batch_pic(input_files, output_dir):
    # 输出目录路径
    # output_dir = r"E:\py_test\final2x_media_handle\output"
    
    # 确保输出目录存在，如果不存在则创建
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)
        print(f"创建输出目录: {output_dir}")
    
    # 配置参数，基于原config.yaml文件
    config = {
        "gpuid": 0,
        "inputpath": input_files,
        "model": "RealESRGAN",
        "modelnoise": 1,
        "modelscale": 2,
        "outputpath": output_dir,
        "targetscale": 2,
        "tta": False
    }
    
    # 将配置转换为JSON字符串
    config_json = json.dumps(config)
    
    # 执行命令，使用subprocess模块来更好地处理命令行参数
    # 注意：subprocess会自动处理参数中的引号和空格
    subprocess.run([cmd_base_global, "-j", config_json])



if __name__ == '__main__':
    # 定义输入文件路径列表，可以方便地添加多个文件
    input_files = [
        r"E:\py_test\final2x_media_handle\jira_attachfile.jpg"
        # 可以在这里添加更多文件路径，例如：
        # r"E:\py_test\final2x_media_handle\another_image.jpg",
        # r"E:\py_test\final2x_media_handle\yet_another_image.jpg"
    ]
    final_batch_pic(input_files);
    
    # os.system('dir')
    # print("hello world")
